home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / Source / DBL Pascal Library / ErrSignal / TestSignals_6.p < prev    next >
Text File  |  1992-03-24  |  762b  |  41 lines

  1. program main;
  2.  
  3.     uses
  4.         ErrSignal;
  5.  
  6.     procedure CleanupHandler (value: univ Longint);
  7.     begin
  8.         writeln('in CleanupHandler: ', value : 1);
  9.     end;
  10.  
  11.     procedure TestProc;
  12.         var
  13.             catch: Integer;
  14.     begin
  15.         writeln('entering TestProc');
  16.         catch := CatchSignal;
  17.         if catch <> 0 then
  18.             begin
  19.                 writeln('first catch in TestProc');
  20.                 PassSignal(2);
  21.             end
  22.         else
  23.             writeln('catch established in TestProc');
  24.         Cleanup(1, 0);
  25.         Cleanup(2, 0);
  26.         Cleanup(3, 0);
  27.         Signal(1);
  28.     end;
  29.  
  30.     var
  31.         mainCatch: Integer;
  32.  
  33. begin { main }
  34.     ShowText;
  35.     InitSignals(sigFail);
  36.     Ignore(RegisterCleanupAction(@CleanupHandler));
  37.     mainCatch := CatchSignal;        {Without this - we never return from test Proc - Why?}
  38.     if mainCatch = 0 then
  39.         TestProc;
  40.     writeln('returned to main: ', mainCatch);
  41. end.